package com.giscloud.limp.dao;

import com.giscloud.limp.entity.CaseFirstInstance;
import com.giscloud.limp.entity.dto.CaseFirstInstanceDTO;
import org.apache.ibatis.annotations.Param;
import com.giscloud.limp.entity.CaseFirstInstanceExample;
import java.util.List;
import java.math.BigDecimal;
import java.util.Map;

import com.giscloud.datasource.core.DynamicDataSource;
/**
 * 一审案件信息
 * 
 * @author giscloud
 * @email giscloud@giscloud.com
 * @date 2020-06-10 14:25:28
 */
public interface CaseFirstInstanceDao {
    @DynamicDataSource("ds1")
    long countByExample(CaseFirstInstanceExample example);
    @DynamicDataSource("ds1")
    int deleteByExample(CaseFirstInstanceExample example);
    @DynamicDataSource("ds1")
    int insert(CaseFirstInstance record);
    @DynamicDataSource("ds1")
    int insertSelective(CaseFirstInstance record);
    @DynamicDataSource("ds1")
    List<CaseFirstInstance> selectByExample(@Param("record")CaseFirstInstanceDTO caseFirstInstanceDTO, @Param("createdOrgId") Long createdOrgId);
    @DynamicDataSource("ds1")
    int updateByExampleSelective(@Param("record") CaseFirstInstance record, @Param("example") CaseFirstInstanceExample example);
    @DynamicDataSource("ds1")
    int updateByExample(@Param("record") CaseFirstInstance record, @Param("example") CaseFirstInstanceExample example);
    @DynamicDataSource("ds1")
    int updateByPrimaryKeySelective(CaseFirstInstance record);

    @DynamicDataSource("ds1")
    int updateCaseClose(CaseFirstInstance record);

    @DynamicDataSource("ds1")
    int updateByPrimaryKey(CaseFirstInstance record);
    @DynamicDataSource("ds1")
    CaseFirstInstance selectByPrimaryKey(Integer caseId);

    @DynamicDataSource("ds1")
    CaseFirstInstance selectLitigationStage(Integer caseId);

    @DynamicDataSource("ds1")
    CaseFirstInstance selectOneByExample(CaseFirstInstanceExample example);
    @DynamicDataSource("ds1")
    CaseFirstInstance selectOneByExampleSelective(@Param("example") CaseFirstInstanceExample example, @Param("selective") CaseFirstInstance.Column... selective);
    @DynamicDataSource("ds1")
    CaseFirstInstance selectByPrimaryKeySelective(Integer caseId, @Param("selective") CaseFirstInstance.Column... selective);
    @DynamicDataSource("ds1")
    List<CaseFirstInstance> selectByExampleSelective(@Param("example") CaseFirstInstanceExample example, @Param("selective") CaseFirstInstance.Column... selective);

    List<Map<String,Object>> queryDictValue(@Param("dictKey")String dictKey,@Param("code") Integer code);

    Map<String,Object> litigationAmountByYear(Map<String,Object> params);

    Map<String,Object> litigationTotalAmountByYear(Map<String,Object> params);




}
